package com.isn.atencionemergencia.service;

import java.util.List;

import com.isn.atencionemergencia.entity.OrdenDeAtencionDeEmergencia;
import com.isn.atencionemergencia.entity.ResponsableDelPaciente;
import com.isn.atencionemergencia.jpa.OrdenAtencionEmergenciaJPA;
import com.isn.atencionemergencia.jpa.ResponsablePacienteJPA;
import com.isn.historiaclinica.entity.TipoDeDocumento;
import com.isn.historiaclinica.jpa.TipoDeDocumentoJPA;
import com.isn.logueo.entity.PersonalAsistencial;
import com.isn.logueo.jpa.PersonalAsistencialJPA;

public class AtencionEmergenciaServiceImpl implements AtencionEmergenciaService{
	PersonalAsistencialJPA personalJPA = new PersonalAsistencialJPA();
	TipoDeDocumentoJPA documentoJPA = new TipoDeDocumentoJPA();
	OrdenAtencionEmergenciaJPA ordenJPA = new OrdenAtencionEmergenciaJPA();
	ResponsablePacienteJPA responsableJPA = new ResponsablePacienteJPA();
	
	@Override
	public List<PersonalAsistencial> listarPersonal() throws Exception {
		personalJPA.createEM();
		List<PersonalAsistencial> listado = personalJPA.listarPersonal();
		personalJPA.releaseEM();
		return listado;
	}
	@Override
	public List<TipoDeDocumento> listarTipoDocumento() throws Exception {
		documentoJPA.createEM();
		List<TipoDeDocumento> listado = documentoJPA.listarTipoDocumento();
		documentoJPA.releaseEM();
		return listado;
	}
	@Override
	public String getUltimoCodigo() throws Exception {
		ordenJPA.createEM();
		String codigo = ordenJPA.getUltimoCodigo();
		ordenJPA.releaseEM();
		return codigo;
	}
	@Override
	public void insertar(OrdenDeAtencionDeEmergencia oae,ResponsableDelPaciente responsable) throws Exception {
		ordenJPA.createEM();
		ordenJPA.beginTransaction();
		ordenJPA.insertar(oae);		
		ordenJPA.endTransaction();
		
		responsableJPA.createEM();
		responsableJPA.beginTransaction();
		responsableJPA.insertar(responsable);
		responsableJPA.endTransaction();
	}
	@Override
	public String getUltimoCodigoResponsable() throws Exception {
		responsableJPA.createEM();
		String codigo = responsableJPA.getUltimoCodigoResponsable();
		responsableJPA.releaseEM();
		return codigo;
	}
	
}
